/* 高阶组件的鉴权操作的小应用 */

import React, { PureComponent } from "react";

class LoginPage extends PureComponent {
  render() {
    return (
      <div>
        <span>LoginPage</span>
      </div>
    );
  }
}

// 这样的操作还是很不错的，这样的使用方式还是有点东西的
function WithAuthentication(Cmp) {
  return (props) => {
    const { isLogin } = props;
    if (isLogin) {
      return <Cmp {...props}></Cmp>;
    } else {
      return <LoginPage></LoginPage>;
    }
  };
}

class One extends PureComponent {
  render() {
    return <div>one</div>;
  }
}

One = WithAuthentication(One);

export default class App extends PureComponent {
  render() {
    return (
      <div>
        <h1>鉴权开始</h1>
        <One isLogin={false}></One>
      </div>
    );
  }
}
